package cn.com.nes.site.service.contract.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

@Data
@ApiModel(value = "合同出参模型")
@AllArgsConstructor
@NoArgsConstructor
public class ContractDTO {

    @ApiModelProperty(value = "合同UUID")
    private String contractUuid;

    @ApiModelProperty(value = "合同名称")
    private String contractName;

    @ApiModelProperty(value = "合同所属公司ID")
    private String contractBelongCompanyId;

    @ApiModelProperty(value = "合同所属公司名称")
    private String contractBelongCompanyName;

    @ApiModelProperty(value = "合同编号")
    private String contractNumber;

    @ApiModelProperty(value = "合同总金额")
    private BigDecimal contractAmount;

    @ApiModelProperty(value = "合同类型")
    private Integer contractType;

    @ApiModelProperty(value = "合同类型名称")
    private String contractTypeName;

    @ApiModelProperty(value = "合同状态")
    private Integer contractStatus;

    @ApiModelProperty(value = "合同状态名称")
    private String contractStatusName;

    @ApiModelProperty(value = "合同审核状态")
    private Integer contractAuditStatus;

    @ApiModelProperty(value = "合同审核状态名称")
    private String contractAuditStatusName;

    @ApiModelProperty(value = "是否终止，0-未终止，1-已终止")
    private Integer terminated;

    @ApiModelProperty(value = "合同生效日期")
    private Date effectiveDate;

    @ApiModelProperty(value = "合同终止日期")
    private Date terminationDate;

    @ApiModelProperty(value = "商务项目UUID")
    private String opportunityUuid;

    @ApiModelProperty(value = "商务项目名称")
    private String opportunityName;

    @ApiModelProperty(value = "客户UUID")
    private String customerUuid;

    @ApiModelProperty(value = "客户名称")
    private String customerName;

    @ApiModelProperty(value = "销售单ID")
    private Long saleOrderId;

    @ApiModelProperty(value = "销售单名称")
    private String saleOrderName;

    public ContractDTO(String contractUuid) {
        this.contractUuid = contractUuid;
    }

}
